package mytest;

import java.util.Arrays;
import java.lang.System;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.JsonUtils;

public class QwenTest02 {
    public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {
        Generation gen = new Generation();
        Message systemMsg = Message.builder()
                .role(Role.SYSTEM.getValue())
                //.content("你是我国著名的医生华佗，医术高明，经验丰富，会为病人诊病开药方，或谨慎动手术，如果病人来说明他的症状，你会给他一些诊断和建议")
                .content("第一角色:你是一个微博平台的内容审核员，对用户新发表的内容进行审核，如果内容中包含不礼貌用于，违反法律法规的语言，宣扬暴力的词句" +
                        "，你可以判断为不合格，返回结果，只包含'状态:通过或不通过’，非法单词:提取非法单词展示，不要有其他文字，" +
                        "举例说明:你看我是不是要揍死你，请你输出:状态:不通过;原因:揍死你")
                .build();
        Message userMsg = Message.builder()
                .role(Role.USER.getValue())
                .content("下暴雨了，还好同学他妈的雨伞留在我们宿舍里了？")
                .build();
        GenerationParam param = GenerationParam.builder()
                // 若没有配置环境变量，请用百炼API Key将下行替换为：.apiKey("sk-xxx")
                .apiKey("sk-db00969a129f456a8bf915ab4e3462b1")
                .model("qwen-max-2024-09-19")
                .messages(Arrays.asList(systemMsg, userMsg))
                .resultFormat(GenerationParam.ResultFormat.MESSAGE)
                .build();
        return gen.call(param);
    }
    public static void main(String[] args) {
        try {
            GenerationResult result = callWithMessage();
            System.out.println(JsonUtils.toJson(result));
        } catch (ApiException | NoApiKeyException | InputRequiredException e) {
            // 使用日志框架记录异常信息
            System.err.println("An error occurred while calling the generation service: " + e.getMessage());
        }
        System.exit(0);
    }
}